const formatTime = date => {
    !date ? date = new Date() : date = new Date(date)
    const year = date.getFullYear()
    const month = date.getMonth() + 1
    const day = date.getDate()
    const hour = date.getHours()
    const minute = date.getMinutes()
    const second = date.getSeconds()
    return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

const formatNumber = n => {
    n = n.toString()
    return n[1] ? n : '0' + n
}

/*参考文章：https://segmentfault.com/q/1010000008005954/a-1020000008187652*/
/*获取当前页url*/
function getCurrentPageUrl() {
    var pages = getCurrentPages() //获取加载的页面
    var currentPage = pages[pages.length - 1] //获取当前页面的对象
    var url = currentPage.route //当前页面url
    return url
}

/*获取当前页带参数的url*/
function getCurrentPageUrlWithArgs() {
    var pages = getCurrentPages() //获取加载的页面
    var currentPage = pages[pages.length - 1] //获取当前页面的对象
    var url = currentPage.route //当前页面url
    var options = currentPage.options //如果要获取url中所带的参数可以查看options

    //拼接url的参数
    var urlWithArgs = url + '?'
    for (var key in options) {
        var value = options[key]
        urlWithArgs += key + '=' + value + '&'
    }
    urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1)

    return urlWithArgs
}

//获取下标
/*
 获取数组元素的下标，
 第一个参数为数组的元素，可为复合类型，但不能为函数和undefined，也不能为空
 第二个参数，要从哪个位置向后查找，
 负数为从后面位置查找，查找的方向依然是向后查找，
 比如说-1，就是最后的位置向后查找，也就是只能和最后一个元素相匹配
 */
function getArrIndex(value, arr) {
    var result = -1;
    for (var i = 0; i < arr.length; i++) {
        if (parseFloat(arr[i]) == parseFloat(value)) {
            result = i;
            break;
        }
    }
    return result;
}

module.exports = {
    formatTime: formatTime,
    getCurrentPageUrl: getCurrentPageUrl,
    getCurrentPageUrlWithArgs: getCurrentPageUrlWithArgs,
    getArrIndex: getArrIndex
}